#ifndef PRINT_H
#define PRINT_H

#include <QSettings>
#include <QString>
#include "machine_setting.h"
#include "shell_analyse.h"
#include "dll.h"

//原本是utf-8编码，现在转换为GBK
#include <QTextCodec>


//打印设置，主要涉及到打印内容、SHELL解析方式等。
class PRINT
{
public:
    PRINT();
    //void easy_print(QString str,MACHINE_SETTING* machine_setting);  //简易模式打印 这一函数已经不再生效
    int command_print(QString label,MACHINE_SETTING* machine_setting);   //内建指令打印打印

    QString cmd_build_BARcode(int X,int Y,QString label,MACHINE_SETTING* machine_setting);    //构建一维条码打印指令。
                                //在原本的设计中，条码横坐标 纵坐标 直接从配置里拿。
                                //但是我想做这样的功能：对于多行输入，可以打印多行的条码
                                //所以，要从外部对位置进行计算后再传入构建指令的函数中。
    QString cmd_build_QRcode(int X,int Y,QString label,MACHINE_SETTING* machine_setting);    //构建二维码打印指令。
    QString cmd_build_TEXT(int X,int Y,QString label,MACHINE_SETTING* machine_setting);    //构建文本打印指令。
private:
    QSettings setting;
    DLL function;
    //SHELL_ANALYSE shell_analyse; //脚本解析器 这个设计也被废弃了，因为过于麻烦，背离了最初"为了方便而设计"的初衷。
};

#endif // PRINT_H
